package com.ecjtu.stadiumre_servations.entity.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@Data
/**
* 拼团活动表
* @TableName group_activity
*/
public class GroupActivity implements Serializable {

    /**
    * 活动ID
    */
    @TableId(value = "activity_id", type = IdType.INPUT)
    @NotBlank(message="[活动ID]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("活动ID")
    @Length(max= 50,message="编码长度不能超过50")
    private String activityId;
    /**
     * 活动场地ID
     */
    private String activityVenueId;
    /**
    * 活动名称
    */
    @NotBlank(message="[活动名称]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("活动名称")
    @Length(max= 100,message="编码长度不能超过100")
    private String activityName;
    /**
    * 拼团价格
    */
    @NotNull(message="[拼团价格]不能为空")
    @ApiModelProperty("拼团价格")
    private double activityPrice;
    /**
    * 最小成团人数
    */
    @NotNull(message="[成团人数]不能为空")
    @ApiModelProperty("成团人数")
    private Integer GroupSize;
    /**
    * 活动开始时间
    */
    @NotNull(message="[活动开始时间]不能为空")
    @ApiModelProperty("活动开始时间")
    private LocalDateTime activityStartTime;
    /**
    * 活动结束时间
    */
    @NotNull(message="[活动结束时间]不能为空")
    @ApiModelProperty("活动结束时间")
    private LocalDateTime activityEndTime;
    /**
    * 活动状态：0-未开始，1-进行中，2-已结束
    */
    @NotBlank(message="[活动状态：0-未开始，1-进行中，2-已结束]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("活动状态：0-未开始，1-进行中，2-已结束")
    @Length(max= 50,message="编码长度不能超过50")
    private String activityStatus;

    /**
    * 创建时间
    */
    @NotNull(message="[创建时间]不能为空")
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
    /**
    * 更新时间
    */
    @NotNull(message="[更新时间]不能为空")
    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;

}
